<template>
  <p>App</p>
</template>

<script lang="ts">
/*
  Vue2 组件间通信：
    1. 重要
      - props           父 -> 子
      - 自定义事件      子 -> 父
      - v-model         父 <-> 子
      - v-bind:xxx.sync 父 <-> 子
      - 插槽            父 <-> 子 （通信的是标签数据）
      - vuex            任意组件（兄弟、祖孙）

    2. 次要
      - 全局事件总线/pubsub     任意组件（兄弟、祖孙）
      - provide/inject          祖孙
      - $parent/$children/$refs  父 <-> 子
      - $attrs/$listeners        父 -> 子
      - localStorage
      - 路由参数 query/params/meta

  Vue3 组件间通信：
    1. 重要
      - props           父 -> 子
      - 自定义事件      子 -> 父
      - v-model         父 <-> 子
      - 插槽            父 <-> 子 （通信的是标签数据）
      - vuex/pinia      任意组件（兄弟、祖孙）

    2. 次要
      - Vue3移除了全局事件总线，提供 mitt 库
      - provide/inject          祖孙
      - $parent/$refs             父 <-> 子
      - $attrs       
      - localStorage
      - 路由参数 query/params/meta

*/
export default {
  name: "App",
};
</script>
